package com.example.service;

import com.example.dao.CourseInfoDTO;
import com.example.dao.CourseQuery;
import com.example.entity.CourseInfo;
import com.example.entity.CourseWeb;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;


/**
 * <p>
 * 课程 服务类
 * </p>
 */
public interface CourseInfoService extends IService<CourseInfo> {

    /**
     * 根据用户凭证，获取课程信息
     * @param id
     * @return
     */
    public List<CourseInfo> getMemberCourseByAuth(String id);

    /**
     * 获取课程详细信息
     * @param id
     * @return
     */
    CourseWeb selectInfoWebById(String id);

    /********************************以下为后台管理接口*************************************************/
    //有条件分页查询
    IPage<CourseInfo> pageQuery(Page<CourseInfo> pageParam, CourseQuery courseQuery);

    //保存课程信息
    String saveCourseInfo(CourseInfoDTO courseInfoDTO);

    //根据id查课程信息
    CourseInfoDTO findCourseById(String id);

    Boolean updateCourse(CourseInfoDTO courseInfoDTO);

    //查询所有的课程信息
    CourseInfo getCourseInfoAll(String courseId);

    boolean removeCourseId(String id);

}
